package tag32_25_08.set;

import java.util.HashSet;

public class Set02_HashSet {

	public static void main(String[] args) {

		Integer i1 = 1;
		int hc1 = i1.hashCode(); // = 1
		System.out.println(hc1);
		
		Object o1 = 1;
		int hc2 = o1.hashCode(); // = 1
		System.out.println(hc2);

		HashSet<String> setStr = new HashSet<String>();

		String s1 = "Mo"; // HashCode: 2498
		String s2 = "Be";
		System.out.println(s1.hashCode()); // 2498
		System.out.println(new String("Mo").hashCode()); // 2498

		setStr.add(s1);
		setStr.add(s2);
		// 1. int hC = param.hashCode(); // = 2498
		// 2. HashCode-Bucket mit der ID = 2498 angelegt
		// 3. param im HashCode-Bucket speichern
		System.out.println("size: " + setStr.size()); // ahora es 2

		setStr.add(new String("Mo"));
		setStr.add(new String("Mi"));
		// 1. int hC = param.hashCode(); // = 2489
		// 2. HashCode-Bucket mit der ID = 2498 wird gefunden
		// 3. Nach dem Parameter suchen mit equals: gefunden! -> Parameter
		// verwerfen
		
		System.out.println("size: " + setStr.size()); // ahora es 3 porque Mo sobreescribio al primer MO

		
		// s1.equals(new String("Mo")) -> true (gleich)

	}

}
